package com.carbon.system.controller;

import com.carbon.domain.common.ApiResult;
import com.carbon.system.common.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;

/**
 * <p>
 * 平台审批管理
 * </p>
 *
 * @author System
 * @since 2024-01-01
 */
@Slf4j
@RestController
@RequestMapping("/sys")
@Api(value = "平台审批管理模块", tags = {"平台审批管理模块"})
public class PlatformApprovalController extends BaseController {

    /**
     * 平台审批管理页面
     */
    @GetMapping("/approve")
    @ApiOperation(value = "平台审批管理页面", notes = "获取平台审批管理页面信息")
    public ApiResult<Object> getApprovalPage() {
        try {
            log.info("访问平台审批管理页面");
            
            // 返回页面信息
            return ApiResult.ok("平台审批管理页面访问成功");
        } catch (Exception e) {
            log.error("访问平台审批管理页面失败", e);
            return ApiResult.fail("访问失败：" + e.getMessage());
        }
    }

    /**
     * 平台审批管理组件页面 - 跳转到飞书
     */
    @GetMapping("/approve_comp")
    @ApiOperation(value = "平台审批管理组件页面", notes = "跳转到飞书文档")
    public ResponseEntity<Void> getApprovalCompPage() {
        try {
            log.info("访问平台审批管理组件页面，准备跳转到飞书");
            
            // 飞书文档URL
            String feishuUrl = "https://zfx2bso66l.feishu.cn/sheets/shtcnbYcQtLLL3qrapu0gj1xELe";
            
            // 返回重定向响应
            return ResponseEntity.status(HttpStatus.FOUND)
                    .header("Location", feishuUrl)
                    .build();
        } catch (Exception e) {
            log.error("跳转到飞书失败", e);
            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
        }
    }

    /**
     * 获取飞书文档信息
     */
    @GetMapping("/approve/feishu")
    @ApiOperation(value = "获取飞书文档信息", notes = "获取飞书云文档相关信息")
    public ApiResult<Object> getFeishuInfo() {
        try {
            log.info("获取飞书文档信息");
            
            // 飞书文档信息
            Object feishuInfo = new Object() {
                public String fileUrl = "https://zfx2bso66l.feishu.cn/sheets/shtcnbYcQtLLL3qrapu0gj1xELe";
                public String title = "平台审批管理文档";
                public String description = "飞书文档将实时同步系统中的项目数据，可查看项目进度以及对其管理跟进";
                public String status = "active";
            };
            
            return ApiResult.ok(feishuInfo);
        } catch (Exception e) {
            log.error("获取飞书文档信息失败", e);
            return ApiResult.fail("获取失败：" + e.getMessage());
        }
    }

    /**
     * 健康检查
     */
    @GetMapping("/approve/health")
    @ApiOperation(value = "健康检查", notes = "检查平台审批管理服务状态")
    public ApiResult<Object> healthCheck() {
        try {
            log.info("平台审批管理服务健康检查");
            
            Object health = new Object() {
                public String status = "UP";
                public String service = "platform-approval";
                public String timestamp = String.valueOf(System.currentTimeMillis());
            };
            
            return ApiResult.ok(health);
        } catch (Exception e) {
            log.error("健康检查失败", e);
            return ApiResult.fail("健康检查失败：" + e.getMessage());
        }
    }
}
